package com.zhiqianbao.utils;

import android.content.Context;
import android.content.SharedPreferences;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by 毛麒添 on 2016/10/1 0001.
 * 保存密码用户类
 */

public class UserInfoUtil {
    //保存用户名和密码
    public static boolean saveUserInfo(Context context,String username, String password) {
        //封装用户名密码
        String userinfo=username+"##"+password;
        //保存的路径
       // String path="/data/data/com.mao.login";
        //通过Context对象获取私有目录的路径(保存方法1)
//        String path=context.getFilesDir().getPath();
//        File file=new File(path,"userInfo.txt"); //创建file文件
        //创建文件流
        try {
            //FileOutputStream os=new FileOutputStream(file);
            //通过Context直接创建获得文件写入流(保存方法)
            FileOutputStream os=context.openFileOutput("userInfo.txt",Context.MODE_PRIVATE);
            os.write(userinfo.getBytes());  //将用户名密码写入文件
            os.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }

        return false;
    }
    //回显用户名和密码
    public static Map<String,String> getUserInfo(Context context){
        try {

            //通过Context对象获取私有目录的路径(读取方法1)
            /*String path=context.getFilesDir().getPath();
            File file=new File(path,"userInfo.txt"); //创建file文件
            FileInputStream is=new FileInputStream(file);*/
            //通过Context对象获取私有目录的路径(读取方法2)，获得私有目录文件读取流
            FileInputStream is= context.openFileInput("userInfo.txt");
            BufferedReader br=new BufferedReader(new InputStreamReader(is));
            //读取一行中包含的用户，密码，需要解析
            String readline=br.readLine();
            String[] split=readline.split("##");
            HashMap<String,String> hashmap=new HashMap<String,String>();
            hashmap.put("username",split[0]);
            hashmap.put("password",split[1]);
            br.close();
            is.close();
            return  hashmap;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    //通过SharePreference来存储用户名密码
    public static boolean saveUserInfo_share(Context context,String username, String password) {

        try {
            //1.通过Context获取创建一个SharePreference对象
            SharedPreferences spf=context.getSharedPreferences("userInfo1.txt",Context.MODE_PRIVATE);
            //2.通过SharePreference对象获取一个Editor对象
            SharedPreferences.Editor editor=spf.edit();
            //3.往editor中添加对象
            editor.putString("username",username);
            editor.putString("password",password);
            //4.提交
            editor.commit();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }

        return false;
    }

    //回显用户名和密码
    public static Map<String,String> getUserInfo_share(Context context){
            //1.通过Context获取创建一个SharePreference对象
            SharedPreferences spf=context.getSharedPreferences("userInfo1.txt",Context.MODE_PRIVATE);
            //2.通过SharePreference获取存取的对象
            String username=spf.getString("username","");
            String password=spf.getString("password","");
            HashMap<String,String> hashmap=new HashMap<String,String>();
            hashmap.put("username",username);
            hashmap.put("password",password);
            return  hashmap;
    }

}
